1. Field of Invention
Apparatuses and methods consistent with the present invention relate to the control of audio/video (hereinafter abbreviated as “AV”) devices by use of a web browser, and more particularly, to controlling other AV devices by installing a web browser and an AV device control program on devices such as digital television (hereinafter referred to as “DTV”) having a user interface (hereinafter referred to as “UI”) available for interacting with users.
2. Description of the Prior Art
Generally AV devices constituting home network have been controlled by installing a web browser on such devices as DTV and PDA (Personal Digital Assistant) having user interface and then accessing respective web servers within the AV devices. Alternatively, AV devices have been controlled by installing a separate client/server program to control the AV devices thereon.
FIG. 1A illustrates a method for controlling an AV device by use of a web browser. An apparatus for carrying out this method comprises a web server of a controlled AV device 110 (hereinafter referred to as “target device”) functioning as a server and a web browser of a client device 100 functioning as a client, wherein the web server receive a request message to control a target device 110 from the client device 100 such as DTV and PDA having a user interface through an HTTP (Hypertext Transfer Protocol) and transmitting a response message to the request message after processing it to the client device 100 by use of the HTTP again, and the web browser transmits the request message to the web server by use of the HTTP and receives again the response message to the request message.
Initially, a user executes a web browser of the client device 100 and accesses a URL (Uniform Resource Locator) of an AV device which he/she desires to control, through the web browser. At this time, the web browser directly accesses the web server of the target device 110. The web server of the target device 110 transmits the homepage established at the target device 110 to the client device 100. The user uses control services provided at the homepage of the target device 110 via the web browser. For example, where a D-VHS (Data-Video Home System) is a target device 100, the D-VHS as the target device 110 executes a command to PLAY as selected by the user. The web server calls back a function unique to the target device 110 from a CGI (Common Gateway Interface) to execute the user's command and transmits a result of the execution to the client device 100. At this time, the execution result is transmitted in a form of HTML (Hypertext Markup Language) code. The web browser of the client device having received the execution result then provides the result to the user.
As described above, execution of a control command provided by an AV device to be controlled, by means of a web browser through the homepage established at the AV device is advantageous in that the AV device can be controlled without knowing details of the target device. However, where an event has occurred in the AV device by a different client or by a change in internal state of the AV device, the web browser cannot know occurrence of the event. That is, since a change in state due to occurrence of an event has not been reflected the homepage of the AV device already loaded onto the web browser, the AV device could not be operated in a normal manner. For example, a target device is in the STOP state when calling the homepage of the target device: however, where the target device has been changed to the PLAY state by other client, the target device would actually remain at the STOP state in the homepage already loaded onto the web browser before change even though the user clicks the PLAY button. Also, there is no method of holding latest data by loading again onto the homepage of the AV device loaded onto the web browser since the target device cannot know occurrence of the event.
FIG. 1B illustrates a method of controlling an AV device by use of an independent client/server program as an alternative method of controlling the AV device. An apparatus to perform this method comprises an AV apparatus 130 and a client 120, wherein the AV apparatus 130 includes a server-side program (hereinafter referred to as “server agent”) receiving a request message from the client 120 through an independent protocol, processing a response to the request message, and therafter transmitting a response message to the client 120 again by use of the protocol, and the client 120 includes a client-side program (hereinafter referred to as “client agent”) transmitting the request message to the AV device and receiving the response message to the request message, through the protocol, and communicating with a user interface module to be described later. When a predetermined event has occurred in the server 130, the server agent transmits details of the event to the client 120. The user interface module exists within the client 120, receiving an input by a user and transferring a result of performing the input to the user, through an interaction with the user.
As described above, where an independent program module is used between the client and the server, the user executes a menu provided by the user interface module. Then, the user selects a target device that he/she desires to control from the menu and subsequently select a command to control the target device, for example, a PLAY command to play AV data where the server 130 is an AV data playing device. At this time, the user interface module transmits a request from the user to the client agent module. The client agent module transmits the user's request to the server agent module of the server 130 by use of an independent module. The server agent module receives the request from the client, executes the command by calling a function to process the request and then transmits the result to the client agent module by use of the protocol. Then, the client agent module receives the result and transmits the same to the user interface module. Thereafter, the user interface module provides the received result to the user. If an event occurs in the server 130 by other client or due to a change in the internal state of the server 130, the server agent module transmits details of the event occurred to the client agent module. The client agent module receives the details of the event and transmits them to the user interface module. Then, the user interface module displays a message appropriate for the received event to the user.
Where an independent program module is used between the client and the server, this is advantageous in that the user can readily know the occurrence or the non-occurrence of an event in a target device to be controlled if the server agent module and the client agent module are properly designed. However, the client 120 has to know what the target device is. If new AV devices not registered with the client agent are available after each server agent is installed, the client agent cannot normally perform a control command. In a word, the client can control the AV devices currently available but cannot control new types of AV devices to be available in the future.